package com.chapter13.MyCollection.MyList.MyArrayList;

import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;

public class test {
    public static void main(String[] args) {
        List<Integer> list = new ArrayList<Integer>();
        list.add(1);
        list.add(1);
        list.add(2);
        //在索引1处插入元素3
        list.add(1,3);
        //向现有列表中添加一个列表的所有元素
        list.addAll(Arrays.asList(4,5,6));
        System.out.println(list);


        //删除索引4的元素
        list.remove(4);
        //删除4,5元素
        list.removeAll(Arrays.asList(4,5));
        //删除奇数
        list.removeIf(x->x%2==1);
        System.out.println(list);


        //修改索引0的元素
        list.set(0,2);
        System.out.println(list);

        //查询列表
        System.out.println(list.isEmpty());
        System.out.println(list.size());
        System.out.println("列表中是否包含元素6："+list.contains(6));


        //将列表转数组,此方法将列表转换为数组后会丢失类型信息
        Object[] objArray = list.toArray();
        System.out.println(Arrays.toString(objArray));


        //将列表转int数组
        Integer[] intArray = list.toArray(new Integer[0]);
        System.out.println(Arrays.toString(intArray));


        //将列表里的元素倒序排序
        list.sort(Comparator.reverseOrder());
        System.out.println(list);
    }
}
